Computer science
In its most general sense, computer science (CS) is the study of computation and information processing, both in hardware and in software. In practice, computer science includes a variety of topics relating to computers, which range from the abstract analysis of algorithms to more concrete subjects like programming languages, software, and computer hardware. As a scientific discipline, it differs significantly from mathematics, programming, software engineering, and computer engineering, although these fields are often confused.
- Computer science is no more about computers than astronomy is about telescopes
- - Edsger Dijkstra
- Computer science is not as old as physics; it lags by a couple of hundred years. However, this does not mean that there is significantly less on the computer scientist's plate than on the physicist's: younger it may be, but it has had a far more intense upbringing!
- - Richard Feynman
The Church-Turing thesis states that all known kinds of general computing devices are essentially equivalent in what they can do, although they vary in time and space efficiency. This thesis is sometimes treated as the fundamental principle of computer science. Most research in computer science has been related to von Neumann computers or Turing machines (computers that do one small, deterministic task at a time), because they resemble most real computers in use today. Computer scientists also study other kinds of machines, some practical (like parallel machines) and some theoretical (like random, oracle and quantum machines).
Computer scientists study what programs can and cannot do (computability and artificial intelligence), how programs should efficiently perform specific tasks (algorithms), how programs should store and retrieve specific kinds of information (data structures), and how programs and people should communicate with each other (user interfaces and programming languages).
Computer science has roots in electrical engineering, mathematics and linguistics. In the last third of the 20th century computer science has become recognized as a distinct discipline and has developed its own methods and terminology.
The first computer science department in the United States was founded at Purdue University in 1962. The University of Cambridge in England, among others, taught CS prior to this, however at the time, CS was seen as a branch of mathematics, and not a separate department. Cambridge claims to have the world's oldest taught qualification in computing. Most universities today have specific departments devoted to computer science.
The highest honor in computer science is the Turing Award.
Related fields
Computer science is closely related to several other fields. These fields overlap considerably, though important differences exist
- Information science is the study of data and information, including how to interpret, analyze, store, and retrieve it. Information science started as the foundation of scientific analysis of communication and databases.
- Software engineering emphasizes analysis, design, and construction of useful software using contemporary tools and practices.
- Information systems is the application of computing to support the operations of an organization: operating, installing, and maintaining the computers, software, and data. Management information systems is a key subfield that emphasizes financial and personnel management.
- Computer engineering is about the analysis, design, and construction of computer hardware.
- Information security is about the analysis and implementation of information system security (cryptography is included).
Major fields of importance for computer science
Mathematical foundations
Theoretical computer science
Hardware
(see also electrical engineering)
Computer systems organization
(see also electrical engineering)
Software
Data and information systems
Computing methodologies
Computer applications
History
Prominent pioneers in computer science
- Charles Babbage, Designed but never completed plans for several mechanical calculators and one mechanical programmable computer.
- John Backus Invention of FORTRAN, the first practical high-level programming language and the Backus-Naur form for describing formal language syntax.
- James W. Cooley and John W. Tukey The Fast Fourier Transform and its impact on scientific research.
- Ole-Johan Dahl and Kristen Nygaard, inventors of the proto-object oriented language SIMULA.
- Edsger Dijkstra for algorithms, Goto considered harmful, rigor, and pedagogy.
- Admiral Grace Murray Hopper, for doing pioneer work in the 1940s, one of the first the recognize the necessity for higher level programming languages. She wrote the compiler. Her ideas heavily influenced the COBOL language.
- Kenneth Iverson Inventor of APL, for his contribution to interactive computing.
- William Kahan for the IEEE floating-point standard. (Perhaps this reference should be moved to hardware engineering)
- Donald Knuth for the The Art of Computer Programming series.
- Ada Lovelace famous as the world's first ever computer programmer.
- John von Neumann for devising the von Neumann architecture upon which most modern computers are based.
- Claude E. Shannon for information theory.
- Alan Turing for computability theory, and designed Pilot ACE,
- James H. Wilkinson The technique of "backward error analysis" and advances in the field of matrix computations. Wilkinson was also a principal mover in the development of the Pilot ACE, the first British computer, in the late 1940s. (see more on Wilkinson in the MacTutor Biographies.)
- Konrad Zuse Builder of the first binary computer in the 1930s, for which he devised a programming language considered ahead of its time.
See list of computer scientists for many more notables.
See also
:: بازدید از این مطلب : 6357
|
امتیاز مطلب : 48
|
تعداد امتیازدهندگان : 15
|
مجموع امتیاز : 15